package com.iot08.api.vo.request;

import com.iot08.api.vo.request.base.BaseAccountReqVO;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author cwj
 * @description
 * @date 2025/3/7 10:38
 **/
@Data
public class GoldCoinAddReqVo extends BaseAccountReqVO implements Serializable {

    @NotEmpty(message = "ApplePay的产品id不可为空")
    //ApplePay的产品id信息
    private String applePayProdId;

    //支付产品类型时系统类型(1：android,2：ios,3：android和ios都支持）
    private Integer sysType;

    @NotEmpty(message = "金币名称不能为空")
    //金币产品名称（白金套餐，黄金套餐，红金套餐，紫金套餐，黑金套餐）
    private String name;

    @NotNull(message = "金币类型不能为空")
    //1:白金套餐，2：黄金套餐，3：红金套餐，4：紫金套餐，5：黑金套餐
    private Integer type;

    @NotNull(message = "是否推荐不能为空")
    //是否为推荐，0：否，1：是
    private Integer isRecommend;

    @NotNull(message = "金币价格不能为空")
    //商品价格
    private BigDecimal price;

    @NotEmpty(message = "金币价格说明不能为空")
    //价格说明
    private String priceDesc;

    @NotNull(message = "金币数量不能为空")
    //金币数
    private Integer goldCoinNum;

    //金币数量说明
    private String goldCoinNumDesc;

    @NotEmpty(message = "货币类型")
    //支付币种
    private String currency;

    @NotEmpty(message = "支付货币单位")
    //货币单位
    private String monetaryUnit;

    //非会员折扣
    private BigDecimal discount;

    //非会员折扣说明
    private String discountDesc;

    //折扣有效开始时间
    private String discountStartTime;

    //折扣有效截至时间
    private String discountEndTime;

    //是否为当前正在使用的产品
    private Integer isCurrentUsing;

    //金币产品说明
    private String desc;
}
